package com.zelix;

import java.io.*;
import java.util.*;

public final class ed extends cd
{

    private mt l[];
    private lu m[];
    private ou n[];
    private qy o;
    private HashSet p;
    private fy q;
    private fy r;
    private fy s;
    private fy t;
    private kp u;
    private ko v;
    private fy w;
    private fy x;
    private ArrayList y;
    private ArrayList z;
    private ArrayList A;
    private ArrayList B;
    private boolean C;
    static final String D;
    static final String E;
    static final String F;
    static final String G;
    private static String H[];
    
    static 
    {
    	H = new String[55];
H[0]="ZKM_SCRIPT_ENCODING";
H[1]="' : ";
H[2]="' not found";
H[3]="Using '";
H[4]="Using internal default trim exclusions. File '";
H[5]="Using internal default trim exclusions. Error opening file '";
H[6]="' for default trim exclusions";
H[7]=" trimmed. Compilers can optimize accesses to the values of \"static\" fields such that the fields are never directly accessed.";
H[8]="	Trimmed method \"";
H[9]="NB: Some \"static\" fields ";
H[10]=" field \"";
H[11]="	Trimmed field \"";
H[12]="	Trimmed class \"";
H[13]="Would trim";
H[14]=" class \"";
H[15]="	NB: Some \"static\" fields have been trimmed. Compilers can optimize accesses to the values of \"static\" fields such that the fields are never directly accessed.";
H[16]=" method \"";
H[17]="\" in class \"";
H[18]="would be";
H[19]="Trimmed";
H[20]="have been";
H[21]="	Unmatching class \"";
H[22]="\" for trim because of \"";
H[23]="	Matching class \"";
H[24]="\" because of \"";
H[25]="\" had a parse error and will be ignored. See \"";
H[26]="\".";
H[27]="\" had a parse error :";
H[28]="\" for more detail.";
H[29]="Will use the internal default trim statement and ignore \"";
H[30]="	Matching method \"";
H[31]="' in 'trimUnexclude' statement is a 'package' level parameter. It will be ignored.";
H[32]="A 'trimUnexclude' statement can only operate on the results of a 'trimExclude' statement. No 'trimExclude' statement is in effect so the 'trimUnexclude' statement will be ignored.";
H[33]="		\"";
H[34]="' keyword. It will be ignored.";
H[35]="' in 'trimExclude' statement is a 'package' level parameter. It will be ignored.";
H[36]="	Trim exclusion parameters:";
H[37]="' in 'trimExclude' cannot use the '";
H[38]="' in 'trimExclude' statement cannot use the '<link>' syntax. It will be ignored.";
H[39]="reference by ";
H[40]="	Trim unexclusion parameters:";
H[41]="' in 'trimUnexclude' cannot use the '";
H[42]="Parameter '";
H[43]="' in 'trimUnexclude' statement cannot use the '<link>' syntax. It will be ignored.";
H[44]="' in default 'trimExclude' cannot use the '";
H[45]="	Default trim exclusion parameters:";
H[46]="+signatureClasses";
H[47]="' in default 'trimExclude' cannot use the '<link>' syntax. It will be ignored.";
H[48]="' in default 'trimExclude' is a 'package' level parameter. It will be ignored.";
H[49]="	Unmatching field \"";
H[50]="	Matching field \"";
H[51]="	Unmatching method \"";
H[52]="trimExclude *.* extends javax.microedition.midlet.MIDlet;";
H[53]="trimExclude  *.* <init>() and //No-arg constructors.  Some APIs access them indirectly.  Eg. java.io.Externalizable ";
H[54]="trimExclude  public *.* and";


G="trimExclude  *.* <init>() and //No-arg constructors.  Some APIs access them indirectly.  Eg. java.io.Externalizable\n             *.* extends java.rmi.server.RemoteStub <init>(java.rmi.server.RemoteRef) and //RMI\n             *.*_Skel implements java.rmi.server.Skeleton and //RMI \n             *.*_Stub extends java.rmi.server.RemoteStub and //RMI \n             *.*_Stub extends javax.rmi.CORBA.Stub and //RMI with iiop \n             *.*_Tie implements javax.rmi.CORBA.Tie and //RMI with iiop \n             interface *.*^ implements java.rmi.Remote *(*) throws java.rmi.RemoteException and //RMI \n             *.* private readObject(java.io.ObjectInputStream) and   //Serialization \n             *.* private writeObject(java.io.ObjectOutputStream) and //Serialization \n             *.* static final long serialVersionUID and              //Serialization \n             *.* writeReplace() and                                  //Serialization \n             *.* readResolve() and                                   //Serialization \n             *.* readObjectNoData() throws java.io.ObjectStreamException and //Serialization \n             *.* java.io.ObjectStreamField[] serialPersistentFields and  //Serialization \n             *.* implements javax.servlet.Servlet and  //Servlets \n             *.* extends java.lang.Enum public * and     //enum \n             *.* extends java.lang.Enum public *(*) and  //enum \n             *.*^ implements javax.ejb.EJBObject public *(*) and               //EJB Remote \n             *.*^ implements javax.ejb.EJBLocalObject public *(*) and          //EJB Local \n             *.*^ implements javax.ejb.EJBHome public create(*) and            //EJB Home \n             *.*^ implements javax.ejb.EJBHome public find*(*) and             //EJB Home n             *.*^ implements javax.ejb.EJBLocalHome public create(*) and       //EJB Local Home \n             *.*^ implements javax.ejb.EJBLocalHome public find*(*) and        //EJB Local Home \n             *.*^ implements javax.ejb.EnterpriseBean public *(*) and          //EJB Bean \n             *.* static createUI(javax.swing.JComponent) and                   //GUI \n             *.* extends javax.swing.JComponent getUI();                       //Pluggable L&F\n";F="trimExclude *.* extends javax.microedition.midlet.MIDlet;\n";E="trimExclude  public *.* and\n             *.* public * and\n             *.* protected * and\n             *.* public *(*) and\n             *.* protected *(*);\n";
D="trimExclude  public *.* and\n             *.* public * and\n             *.* public *(*);\n";
F="trimExclude *.* extends javax.microedition.midlet.MIDlet;\n";
E="trimExclude  public *.* and\n             *.* public * and\n             *.* protected * and\n             *.* public *(*) and\n             *.* protected *(*);\n";

    }

    public ed(it it1, ht ht, Vector vector, Vector vector1, nh nh1, qy qy1, hc ahc[], 
            HashSet hashset, ad ad1, bd bd1, bs bs)
        throws cc, tb
    {
        HashMap hashmap;
        Vector vector2;
        int i;
        boolean flag;
        flag = tb.b;
        super(it1, vector, vector1, nh1);
        if(!it1.k())
            break MISSING_BLOCK_LABEL_1787;
        String s1 = nh1.g();
        o = qy1;
        v = it1.q();
        u = new kp(it1, ht, v);
        a(it1.j(), it1.A(), ht);
        hashmap = new HashMap();
        vector2 = new Vector();
        i = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        Object obj;
        gj gj1 = (gj)super.a.elementAt(i);
        obj = gj1.i();
        if(!flag) goto _L4; else goto _L3
_L3:
        Object obj1 = ((Enumeration) (obj)).nextElement();
        if(!hashmap.containsKey(obj1))
        {
            hashmap.put(obj1, obj1);
            vector2.addElement(obj1);
        }
_L4:
        if(((Enumeration) (obj)).hasMoreElements()) goto _L3; else goto _L5
_L5:
        i++;
_L2:
        if(i < super.a.size()) goto _L1; else goto _L6
_L6:
        if(!nh1.z() || vector2.size() <= 0) goto _L8; else goto _L7
_L7:
        int j;
        super.c.println(H[36]);
        j = vector2.size() - 1;
        if(!flag) goto _L10; else goto _L9
_L9:
        super.c.println(H[33] + vector2.elementAt(j) + "\"");
        j--;
_L10:
        if(j >= 0) goto _L9; else goto _L8
_L8:
        j = vector2.size() - 1;
        if(!flag) goto _L12; else goto _L11
_L11:
        obj = (il)vector2.elementAt(j);
        if(((il) (obj)).H())
        {
            nh1.e(H[42] + obj + H[35], true);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(((il) (obj)).w() && ((il) (obj)).v())
        {
            nh1.e(H[42] + obj + H[38], true);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(((il) (obj)).G() && ((il) (obj)).I())
            nh1.e(H[42] + obj + H[37] + H[46] + H[34], true);
        ((il) (obj)).a(this);
        j--;
_L12:
        if(j >= 0) goto _L11; else goto _L13
_L13:
        obj = null;
        if(super.k == null) goto _L15; else goto _L14
_L14:
        Object obj2;
        int i1;
        obj2 = new HashMap();
        obj = new Vector();
        i1 = 0;
        if(!flag) goto _L17; else goto _L16
_L16:
        Object obj3;
        gj gj2 = (gj)super.k.elementAt(i1);
        obj3 = gj2.i();
        if(!flag) goto _L19; else goto _L18
_L18:
        Object obj4 = ((Enumeration) (obj3)).nextElement();
        if(!((HashMap) (obj2)).containsKey(obj4))
        {
            ((HashMap) (obj2)).put(obj4, obj4);
            ((Vector) (obj)).addElement(obj4);
        }
_L19:
        if(((Enumeration) (obj3)).hasMoreElements()) goto _L18; else goto _L20
_L20:
        i1++;
_L17:
        if(i1 < super.k.size()) goto _L16; else goto _L21
_L21:
        if(!nh1.z() || ((Vector) (obj)).size() <= 0) goto _L23; else goto _L22
_L22:
        int j1;
        super.c.println(H[40]);
        j1 = ((Vector) (obj)).size() - 1;
        if(!flag) goto _L25; else goto _L24
_L24:
        super.c.println(H[33] + ((Vector) (obj)).elementAt(j1) + "\"");
        j1--;
_L25:
        if(j1 >= 0) goto _L24; else goto _L23
_L23:
        if(((Vector) (obj)).size() <= 0 || vector2.size() != 0) goto _L27; else goto _L26
_L26:
        nh1.e(H[32], true);
        if(!flag) goto _L15; else goto _L27
_L27:
        j1 = ((Vector) (obj)).size() - 1;
        if(!flag) goto _L29; else goto _L28
_L28:
        obj3 = (il)((Vector) (obj)).elementAt(j1);
        if(((il) (obj3)).H())
        {
            nh1.e(H[42] + obj3 + H[31], true);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(((il) (obj3)).w() && ((il) (obj3)).v())
        {
            nh1.e(H[42] + obj3 + H[43], true);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(((il) (obj3)).G() && ((il) (obj3)).I())
            nh1.e(H[42] + obj3 + H[41] + H[46] + H[34], true);
        ((il) (obj3)).b(this);
        j1--;
_L29:
        if(j1 >= 0) goto _L28; else goto _L15
_L15:
        Vector vector3;
        obj2 = a(nh1);
        vector3 = new Vector();
        if(obj2 == null) goto _L31; else goto _L30
_L30:
        HashMap hashmap1;
        hashmap1 = new HashMap();
        obj3 = ((gj) (obj2)).i();
        if(!flag) goto _L33; else goto _L32
_L32:
        Object obj5 = ((Enumeration) (obj3)).nextElement();
        if(!hashmap1.containsKey(obj5))
        {
            hashmap1.put(obj5, obj5);
            vector3.addElement(obj5);
        }
_L33:
        if(((Enumeration) (obj3)).hasMoreElements()) goto _L32; else goto _L34
_L34:
        if(!nh1.z() || vector3.size() <= 0) goto _L36; else goto _L35
_L35:
        int k1;
        super.c.println(H[45]);
        k1 = vector3.size() - 1;
        if(!flag) goto _L38; else goto _L37
_L37:
        super.c.println(H[33] + vector3.elementAt(k1) + "\"");
        k1--;
_L38:
        if(k1 >= 0) goto _L37; else goto _L36
_L36:
        k1 = vector3.size() - 1;
        if(!flag) goto _L40; else goto _L39
_L39:
        il il1 = (il)vector3.elementAt(k1);
        if(il1.H())
        {
            nh1.e(H[42] + il1 + H[48], true);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(il1.w() && il1.v())
        {
            nh1.e(H[42] + il1 + H[47], true);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(il1.G() && il1.I())
            nh1.e(H[42] + il1 + H[44] + H[46] + H[34], true);
        il1.a(this);
        k1--;
_L40:
        if(k1 >= 0) goto _L39; else goto _L31
_L31:
        if(bd1 != null)
            bd1.a(this, nh1.n());
        if(ad1 != null)
            ad1.a(this, nh1.n());
        hashmap1 = it1.a();
        if(hashmap1 == null) goto _L42; else goto _L41
_L41:
        int l1;
        obj3 = new ArrayList(hashmap1.entrySet());
        pr pr1 = new pr();
        Collections.sort(((java.util.List) (obj3)), pr1);
        l1 = 0;
        if(!flag) goto _L44; else goto _L43
_L43:
        java.util.Map.Entry entry = (java.util.Map.Entry)((ArrayList) (obj3)).get(l1);
        a((mt)entry.getKey(), H[39] + (String)entry.getValue());
        l1++;
_L44:
        if(l1 < ((ArrayList) (obj3)).size()) goto _L43; else goto _L42
_L42:
        HashMap hashmap2;
        obj3 = new m6();
        hashmap2 = it1.b();
        if(hashmap2 == null) goto _L46; else goto _L45
_L45:
        Object obj6;
        int i2;
        obj6 = new ArrayList(hashmap2.entrySet());
        Collections.sort(((java.util.List) (obj6)), ((java.util.Comparator) (obj3)));
        i2 = 0;
        if(!flag) goto _L48; else goto _L47
_L47:
        java.util.Map.Entry entry1 = (java.util.Map.Entry)((ArrayList) (obj6)).get(i2);
        a((lu)entry1.getKey(), H[39] + (String)entry1.getValue());
        i2++;
_L48:
        if(i2 < ((ArrayList) (obj6)).size()) goto _L47; else goto _L46
_L46:
        obj6 = it1.c();
        if(obj6 == null) goto _L50; else goto _L49
_L49:
        Object obj7;
        int j2;
        obj7 = new ArrayList(((HashMap) (obj6)).entrySet());
        Collections.sort(((java.util.List) (obj7)), ((java.util.Comparator) (obj3)));
        j2 = 0;
        if(!flag) goto _L52; else goto _L51
_L51:
        java.util.Map.Entry entry2 = (java.util.Map.Entry)((ArrayList) (obj7)).get(j2);
        a((ou)entry2.getKey(), H[39] + (String)entry2.getValue());
        j2++;
_L52:
        if(j2 < ((ArrayList) (obj7)).size()) goto _L51; else goto _L50
_L50:
        obj7 = super.f.keys();
        if(!flag) goto _L54; else goto _L53
_L53:
        mt mt1 = (mt)((Enumeration) (obj7)).nextElement();
        p.add(mt1);
_L54:
        if(((Enumeration) (obj7)).hasMoreElements()) goto _L53; else goto _L55
_L55:
        a();
        p();
        v();
        l();
        C = true;
    }

    public final Enumeration k()
    {
        return new cv(l);
    }

    public final boolean c()
    {
        return y.size() == 0;
    }

    public final boolean d()
    {
        return z.size() == 0;
    }

    private void l()
    {
        int i;
        boolean flag;
        flag = tb.b;
        y = new ArrayList(super.i.size() * 2);
        z = new ArrayList(super.g.size() * 2);
        A = new ArrayList(super.j.size());
        B = new ArrayList(super.h.size());
        i = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        lu lu1 = m[i];
        if(a(m[i]))
        {
            A.add(lu1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        w.b(lu1.h(), lu1, lu1);
        y.add(lu1);
        i++;
_L2:
        if(i < m.length) goto _L1; else goto _L3
_L3:
        int j = 0;
        if(!flag) goto _L5; else goto _L4
_L4:
        ou ou1 = n[j];
        if(a(n[j]))
        {
            B.add(ou1);
            if(!flag)
                continue;
        }
        x.b(ou1.h(), ou1, ou1);
        z.add(ou1);
        j++;
_L5:
        if(j >= n.length)
            return;
        if(true) goto _L4; else goto _L6
_L6:
    }

    private boolean b(mt mt1)
    {
        return a(mt1, ((String) (null)));
    }

    public final boolean a(mt mt1, String s1)
    {
        Object obj = super.e.remove(mt1);
        if(obj != null)
        {
            Object obj1 = super.f.put(mt1, mt1);
            if(super.b.z() && s1 != null && super.c != null)
                super.c.println(H[23] + mt1.x() + mt1.l() + H[24] + s1 + "\"");
        }
        return obj != null;
    }

    private void a(p6 p6_1, e6 e6_1)
        throws tb
    {
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        enumeration = p6_1.h();
        if(!flag) goto _L2; else goto _L1
_L1:
        mt mt1 = (mt)enumeration.nextElement();
        a(mt1, e6_1, true);
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        Enumeration enumeration1 = p6_1.b();
        if(!flag) goto _L5; else goto _L4
_L4:
        mt mt2 = (mt)enumeration1.nextElement();
        a(mt2, e6_1, false);
_L5:
        if(enumeration1.hasMoreElements()) goto _L4; else goto _L6
_L6:
        Enumeration enumeration2 = p6_1.d();
        if(!flag) goto _L8; else goto _L7
_L7:
        lu lu1 = (lu)enumeration2.nextElement();
        b(lu1, e6_1);
_L8:
        if(enumeration2.hasMoreElements()) goto _L7; else goto _L9
_L9:
        Enumeration enumeration3 = p6_1.f();
        if(!flag) goto _L11; else goto _L10
_L10:
        ou ou1 = (ou)enumeration3.nextElement();
        a(ou1, e6_1);
_L11:
        if(!enumeration3.hasMoreElements())
            return;
        if(true) goto _L10; else goto _L12
_L12:
    }

    public final void a(lu lu1, String s1)
    {
        lu lu2 = (lu)super.i.remove(lu1);
        if(lu2 != null)
        {
            Object obj = super.j.put(lu1, lu1);
            if(super.b.z() && s1 != null && super.c != null)
                super.c.println(H[50] + lt.a(lu1.O()) + " " + lu1.t() + lu1.u() + H[17] + lu1.l() + H[24] + s1 + "\"");
        }
    }

    private void b(ou ou1)
    {
        a(ou1, ((String) (null)));
    }

    public final void a(ou ou1, String s1)
    {
        ou ou2 = (ou)super.g.remove(ou1);
        if(ou2 != null)
        {
            super.h.put(ou1, ou1);
            if(super.b.z() && s1 != null && super.c != null)
                super.c.println(H[30] + ou1.d(false).trim() + H[17] + ou1.l() + H[24] + s1 + "\"");
        }
    }

    private void p()
    {
        ou aou[];
        int i;
        boolean flag;
        flag = tb.b;
        aou = u.a();
        i = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        ou ou1 = aou[i];
        b(ou1);
        mt mt1 = (mt)ou1.h();
        if(ou1.D())
        {
            if(super.f.containsKey(mt1))
                continue;
            s.b(mt1, ou1, ou1);
            if(!flag)
                continue;
        }
        if(!p.contains(mt1))
            t.b(mt1, ou1, ou1);
        i++;
_L2:
        if(i >= aou.length)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    private void a(e6 e6_1, fy fy1, mt mt1)
        throws tb
    {
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        Hashtable hashtable = fy1.b(mt1);
        if(hashtable == null)
            break MISSING_BLOCK_LABEL_64;
        enumeration = hashtable.keys();
        if(!flag) goto _L2; else goto _L1
_L1:
        lu lu1 = (lu)enumeration.nextElement();
        b(lu1, e6_1);
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        fy1.c(mt1);
    }

    private void a(mt mt1, e6 e6_1)
        throws tb
    {
        e6 e6_2;
        HashSet hashset;
        HashSet hashset1;
        boolean flag3;
        flag3 = tb.b;
        e6_2 = new e6();
        hashset = new HashSet();
        hashset1 = new HashSet();
        e6_2.a(mt1);
        if(!flag3) goto _L2; else goto _L1
_L1:
        boolean flag;
        fh fh1;
        p6 p6_1;
        Enumeration enumeration;
        mt mt2 = (mt)e6_2.c();
        flag = p.contains(mt2);
        boolean flag1 = hashset.add(mt2);
        boolean flag2 = false;
        if(flag)
            flag2 = hashset1.add(mt2);
        if(!flag1 && !flag2)
            continue; /* Loop/switch isn't completed */
        fh1 = fh.b(mt2.j());
        if(!flag1)
            break MISSING_BLOCK_LABEL_321;
        p6_1 = mt2.a();
        enumeration = p6_1.h();
        if(!flag3) goto _L4; else goto _L3
_L3:
        mt mt4 = (mt)enumeration.nextElement();
        a(mt4, e6_2, e6_1, true);
_L4:
        if(enumeration.hasMoreElements()) goto _L3; else goto _L5
_L5:
        Enumeration enumeration1 = p6_1.b();
        if(!flag3) goto _L7; else goto _L6
_L6:
        mt mt5 = (mt)enumeration1.nextElement();
        a(mt5, e6_2, e6_1, false);
_L7:
        if(enumeration1.hasMoreElements()) goto _L6; else goto _L8
_L8:
        Enumeration enumeration2 = p6_1.d();
        if(!flag3) goto _L10; else goto _L9
_L9:
        lu lu1 = (lu)enumeration2.nextElement();
        b(lu1, e6_1);
_L10:
        if(enumeration2.hasMoreElements()) goto _L9; else goto _L11
_L11:
        Enumeration enumeration3 = p6_1.f();
        if(!flag3) goto _L13; else goto _L12
_L12:
        ou ou1 = (ou)enumeration3.nextElement();
        a(ou1, e6_1);
_L13:
        if(enumeration3.hasMoreElements()) goto _L12; else goto _L14
_L14:
        fh fh3 = fh1.f();
        if(fh3 != null)
        {
            mt mt7 = fh3.c();
            if(mt7 != null)
                a(mt7, e6_2, e6_1, false);
        }
        mt mt3 = fh1.a();
        if(mt3 != null)
            a(mt3, e6_2, e6_1, flag);
        enumeration = fh1.k();
        if(enumeration == null)
            continue; /* Loop/switch isn't completed */
        if(!flag3) goto _L16; else goto _L15
_L15:
        fh fh2 = (fh)enumeration.nextElement();
        if(fh2.w())
        {
            mt mt6 = fh2.c();
            a(mt6, e6_2, e6_1, flag);
        }
_L16:
        if(enumeration.hasMoreElements()) goto _L15; else goto _L2
_L2:

        if(!e6_2.b()) goto _L1; else goto _L17
_L17:
    }

    private void a(mt mt1, e6 e6_1, e6 e6_2, boolean flag)
        throws tb
    {
        boolean flag1 = b(mt1);
        boolean flag2 = false;
        if(flag)
            flag2 = p.add(mt1);
        if(flag1)
        {
            a(e6_2, q, mt1);
            b(e6_2, s, mt1);
        }
        if(flag2)
        {
            a(e6_2, r, mt1);
            b(e6_2, t, mt1);
        }
        if(flag1 || flag2)
            e6_1.a(mt1);
    }

    private void a()
        throws tb
    {
        e6 e6_1;
        Enumeration enumeration;
        boolean flag11;
        flag11 = tb.b;
        e6_1 = new e6();
        enumeration = super.f.keys();
        if(!flag11) goto _L2; else goto _L1
_L1:
        mt mt1 = (mt)enumeration.nextElement();
        e6_1.a(mt1);
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        HashSet hashset;
        HashSet hashset1;
        hashset = new HashSet();
        hashset1 = new HashSet();
        if(!flag11) goto _L5; else goto _L4
_L4:
        boolean flag;
        fh fh1;
        p6 p6_1;
        Enumeration enumeration1;
        mt mt2 = (mt)e6_1.c();
        flag = p.contains(mt2);
        boolean flag1 = hashset.add(mt2);
        boolean flag2 = false;
        if(flag)
            flag2 = hashset1.add(mt2);
        if(!flag1 && !flag2)
            continue; /* Loop/switch isn't completed */
        hashset.add(mt2);
        fh1 = fh.b(mt2.j());
        p6_1 = mt2.a();
        enumeration1 = p6_1.h();
        if(!flag11) goto _L7; else goto _L6
_L6:
        mt mt3 = (mt)enumeration1.nextElement();
        boolean flag3 = b(mt3);
        boolean flag4 = p.add(mt3);
        if(flag3 || flag4)
            e6_1.a(mt3);
_L7:
        if(enumeration1.hasMoreElements()) goto _L6; else goto _L8
_L8:
        Enumeration enumeration2 = p6_1.b();
        if(!flag11) goto _L10; else goto _L9
_L9:
        mt mt4 = (mt)enumeration2.nextElement();
        boolean flag5 = b(mt4);
        if(flag5)
            e6_1.a(mt4);
_L10:
        if(enumeration2.hasMoreElements()) goto _L9; else goto _L11
_L11:
        Enumeration enumeration3 = p6_1.d();
        if(!flag11) goto _L13; else goto _L12
_L12:
        lu lu1 = (lu)enumeration3.nextElement();
        a(lu1, e6_1);
_L13:
        if(enumeration3.hasMoreElements()) goto _L12; else goto _L14
_L14:
        Enumeration enumeration4 = p6_1.f();
        if(!flag11) goto _L16; else goto _L15
_L15:
        ou ou1 = (ou)enumeration4.nextElement();
        b(ou1);
_L16:
        if(enumeration4.hasMoreElements()) goto _L15; else goto _L17
_L17:
        Enumeration enumeration5;
        fh fh2 = fh1.f();
        if(fh2 != null)
        {
            mt mt5 = fh2.c();
            if(mt5 != null)
            {
                boolean flag6 = b(mt5);
                if(flag6)
                    e6_1.a(mt5);
            }
        }
        mt mt6 = fh1.a();
        if(mt6 != null)
        {
            boolean flag7 = b(mt6);
            boolean flag8 = false;
            if(flag)
                flag8 = p.add(mt6);
            if(flag7 || flag8)
                e6_1.a(mt6);
        }
        enumeration5 = fh1.k();
        if(enumeration5 == null)
            continue; /* Loop/switch isn't completed */
        if(!flag11) goto _L19; else goto _L18
_L18:
        fh fh3 = (fh)enumeration5.nextElement();
        if(fh3.w())
        {
            mt mt7 = fh3.c();
            boolean flag9 = b(mt7);
            boolean flag10 = false;
            if(flag)
                flag10 = p.add(mt7);
            if(flag9 || flag10)
                e6_1.a(mt7);
        }
_L19:
        if(enumeration5.hasMoreElements()) goto _L18; else goto _L5
_L5:
        if(!e6_1.b()) goto _L4; else goto _L20
_L20:
    }

    private void a(lu lu1, e6 e6_1)
        throws tb
    {
        p6 p6_1;
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        a(lu1, ((String) (null)));
        mt mt1 = lu1.P();
        if(mt1 != null)
        {
            a(mt1, ((String) (null)));
            e6_1.a(mt1);
        }
        p6_1 = lu1.a();
        enumeration = p6_1.h();
        if(!flag) goto _L2; else goto _L1
_L1:
        mt mt2 = (mt)enumeration.nextElement();
        p.add(mt2);
        a(mt2, ((String) (null)));
        e6_1.a(mt2);
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        Enumeration enumeration1 = p6_1.b();
        if(!flag) goto _L5; else goto _L4
_L4:
        mt mt3 = (mt)enumeration1.nextElement();
        a(mt3, ((String) (null)));
        e6_1.a(mt3);
_L5:
        if(enumeration1.hasMoreElements()) goto _L4; else goto _L6
_L6:
        Enumeration enumeration2 = p6_1.d();
        if(!flag) goto _L8; else goto _L7
_L7:
        lu lu2 = (lu)enumeration2.nextElement();
        a(lu2, e6_1);
_L8:
        if(enumeration2.hasMoreElements()) goto _L7; else goto _L9
_L9:
        Enumeration enumeration3 = p6_1.f();
        if(!flag) goto _L11; else goto _L10
_L10:
        ou ou1 = (ou)enumeration3.nextElement();
        b(ou1);
_L11:
        if(!enumeration3.hasMoreElements())
            return;
        if(true) goto _L10; else goto _L12
_L12:
    }

    public static gj a(nh nh1)
    {
        String s1 = nh1.g();
        boolean flag = false;
        BufferedReader bufferedreader = null;
        try
        {
            File file = new File(s1);
            bufferedreader = oc.a(file, System.getProperty(H[0]));
            if(nh1.z())
                nh1.a(H[3] + s1 + H[6], true);
        }
        catch(FileNotFoundException _ex)
        {
            bufferedreader = new BufferedReader(new StringReader(G));
            flag = true;
            if(nh1.z())
                nh1.a(H[4] + s1 + H[2], true);
        }
        catch(IOException ioexception)
        {
            bufferedreader = new BufferedReader(new StringReader(G));
            flag = true;
            if(nh1.z())
                nh1.a(H[5] + s1 + H[1] + ioexception, true);
        }
        try
        {
            return a(nh1, bufferedreader);
        }
        catch(pb pb1)
        {
            if(!flag)
                return a(nh1, ((Throwable) (pb1)));
        }
        catch(mb mb1)
        {
            if(!flag)
                return a(nh1, ((Throwable) (mb1)));
        }
        return null;
    }

    private static gj a(String s1, nh nh1)
    {
        boolean flag = false;
        BufferedReader bufferedreader = new BufferedReader(new StringReader(s1));
        try
        {
            return a(nh1, bufferedreader);
        }
        catch(pb pb1) { }
        catch(mb mb1) { }
        return null;
    }

    public Enumeration r()
    {
        return w.b();
    }

    public ly c(mt mt1)
    {
        Hashtable hashtable = w.b(mt1);
        if(hashtable != null)
            return new ly(hashtable);
        else
            return null;
    }

    public Enumeration s()
    {
        return x.b();
    }

    public ly d(mt mt1)
    {
        Hashtable hashtable = x.b(mt1);
        if(hashtable != null)
            return new ly(hashtable);
        else
            return null;
    }

    public ArrayList t()
    {
        ArrayList arraylist;
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        arraylist = new ArrayList();
        enumeration = w.d();
        if(!flag) goto _L2; else goto _L1
_L1:
        mt mt1 = (mt)enumeration.nextElement();
        if(super.f.containsKey(mt1))
            arraylist.add(mt1);
_L2:
        if(!enumeration.hasMoreElements())
            return arraylist;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public ArrayList u()
    {
        ArrayList arraylist;
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        arraylist = new ArrayList();
        enumeration = x.d();
        if(!flag) goto _L2; else goto _L1
_L1:
        mt mt1 = (mt)enumeration.nextElement();
        if(super.f.containsKey(mt1))
            arraylist.add(mt1);
_L2:
        if(!enumeration.hasMoreElements())
            return arraylist;
        if(true) goto _L1; else goto _L3
_L3:
    }

    static gj b(nh nh1)
    {
        return a(E, nh1);
    }

    static gj c(nh nh1)
    {
        return a(D, nh1);
    }

    static gj d(nh nh1)
    {
        return a(F, nh1);
    }

    private static gj a(nh nh1, Throwable throwable)
    {
        String s1 = nh1.g();
        if(throwable != null)
        {
            System.err.println("\"" + s1 + H[25] + nh1.m() + H[28]);
            nh1.e("\"" + s1 + H[27] + zo.e + throwable.getMessage() + zo.e + H[29] + s1 + H[26]);
        }
        BufferedReader bufferedreader = new BufferedReader(new StringReader(G));
        try
        {
            return a(nh1, bufferedreader);
        }
        catch(pb pb1) { }
        catch(mb mb1) { }
        return null;
    }

    public final void b(mt mt1, String s1)
    {
        Object obj = super.f.remove(mt1);
        if(obj != null)
        {
            Object obj1 = super.e.put(mt1, mt1);
            if(super.b.z() && s1 != null && super.c != null)
                super.c.println(H[21] + mt1.l() + H[22] + s1 + "\"");
        }
    }

    public final void b(lu lu1, String s1)
    {
        Object obj = super.j.remove(lu1);
        if(obj != null)
        {
            Object obj1 = super.i.put(lu1, lu1);
            String s2 = lu1.l();
            if(super.b.z() && s1 != null && super.c != null)
                super.c.println(H[49] + lu1.u().trim() + H[17] + s2 + H[22] + s1 + "\"");
        }
    }

    public final void b(ou ou1, String s1)
    {
        if(ou1.T())
            return;
        ou ou2 = (ou)super.h.remove(ou1);
        if(ou2 != null)
        {
            Object obj = super.g.put(ou1, ou1);
            String s2 = ou1.l();
            if(super.b.z() && s1 != null && super.c != null)
                super.c.println(H[51] + ou1.O().f().trim() + H[17] + s2 + H[22] + s1 + "\"");
        }
    }

    final void a(Enumeration enumeration, int i, ht ht)
    {
        int i1;
        boolean flag;
        flag = tb.b;
        l = new mt[i];
        int j = px.a(i);
        super.e = new Hashtable(j);
        super.f = new Hashtable(j);
        super.i = new Hashtable(px.a(i * 5));
        super.j = new Hashtable(px.a(i * 5));
        super.g = new Hashtable(px.a(i * 5));
        super.h = new Hashtable(px.a(i * 5));
        p = new HashSet(j);
        q = new fy(j, px.a(5));
        r = new fy(j, px.a(5));
        s = new fy(j, px.a(5));
        t = new fy(j, px.a(5));
        w = new fy(j);
        x = new fy(j);
        i1 = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        mt mt1;
        Object obj;
        mt1 = (mt)enumeration.nextElement();
        super.e.put(mt1, mt1);
        l[i1++] = mt1;
        obj = mt1.U();
        if(!flag) goto _L4; else goto _L3
_L3:
        Object obj1 = ((Enumeration) (obj)).nextElement();
        super.i.put(obj1, obj1);
_L4:
        if(((Enumeration) (obj)).hasMoreElements()) goto _L3; else goto _L5
_L5:
        cv cv1 = mt1.cb();
        if(!flag) goto _L7; else goto _L6
_L6:
        ou ou1 = (ou)cv1.nextElement();
        if(!ou1.T())
        {
            super.g.put(ou1, ou1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        super.h.put(ou1, ou1);
_L7:
        if(cv1.hasMoreElements()) goto _L6; else goto _L2
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L8
_L8:
        int j1;
        m = new lu[super.i.size()];
        j1 = 0;
        obj = super.i.keys();
        if(!flag) goto _L10; else goto _L9
_L9:
        m[j1++] = (lu)((Enumeration) (obj)).nextElement();
_L10:
        if(((Enumeration) (obj)).hasMoreElements()) goto _L9; else goto _L11
_L11:
        int k1;
        Enumeration enumeration1;
        n = new ou[super.g.size() + super.h.size()];
        k1 = 0;
        enumeration1 = super.g.keys();
        if(!flag) goto _L13; else goto _L12
_L12:
        n[k1++] = (ou)enumeration1.nextElement();
_L13:
        if(enumeration1.hasMoreElements()) goto _L12; else goto _L14
_L14:
        Enumeration enumeration2 = super.h.keys();
        if(!flag) goto _L16; else goto _L15
_L15:
        n[k1++] = (ou)enumeration2.nextElement();
_L16:
        if(!enumeration2.hasMoreElements())
            return;
        if(true) goto _L15; else goto _L17
_L17:
    }

    public boolean a(lu lu1)
    {
        if(lu1.D())
            return super.j.containsKey(lu1) && super.f.containsKey(lu1.h());
        else
            return super.j.containsKey(lu1) && p.contains(lu1.h());
    }

    public boolean a(ou ou1)
    {
        if(ou1.D())
            return super.h.containsKey(ou1) && super.f.containsKey(ou1.h());
        else
            return super.h.containsKey(ou1) && p.contains(ou1.h());
    }

    private void b(e6 e6_1, fy fy1, mt mt1)
    {
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        Hashtable hashtable = fy1.b(mt1);
        if(hashtable == null)
            break MISSING_BLOCK_LABEL_64;
        enumeration = hashtable.keys();
        if(!flag) goto _L2; else goto _L1
_L1:
        ou ou1 = (ou)enumeration.nextElement();
        e6_1.a(ou1);
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        fy1.c(mt1);
    }

    private static gj a(nh nh1, BufferedReader bufferedreader)
        throws pb
    {
        oh oh1 = new oh(bufferedreader);
        vh vh1 = null;
        try
        {
            vh1 = oh1.A();
            vh1.a(null, nh1);
        }
        finally
        {
            try
            {
                bufferedreader.close();
            }
            catch(IOException ioexception) { }
        }
        gj gj1 = ((hk)vh1).a();
        return gj1;
    }

    public void a(PrintWriter printwriter, boolean flag)
    {
        ArrayList arraylist;
        Enumeration enumeration;
        boolean flag2;
        flag2 = tb.b;
        arraylist = new ArrayList(super.e.size());
        enumeration = super.e.keys();
        if(!flag2) goto _L2; else goto _L1
_L1:
        arraylist.add(((mt)enumeration.nextElement()).j());
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        String s1;
        int i;
        int j;
        Collections.sort(arraylist);
        s1 = flag ? H[13] : H[19];
        i = arraylist.size();
        j = 0;
        if(!flag2) goto _L5; else goto _L4
_L4:
        String s2 = (String)arraylist.get(j);
        if(!flag && super.b.z())
            super.c.println(H[12] + lt.a(s2) + "\"");
        if(printwriter != null)
            printwriter.println(s1 + H[14] + lt.a(s2) + "\"");
        j++;
_L5:
        if(j < i) goto _L4; else goto _L6
_L6:
        o6 o6_1;
        boolean flag1;
        ArrayList arraylist1;
        Enumeration enumeration1;
        o6_1 = new o6();
        flag1 = false;
        arraylist1 = new ArrayList(super.i.size());
        enumeration1 = r();
        if(!flag2) goto _L8; else goto _L7
_L7:
        lu lu1 = (lu)enumeration1.nextElement();
        mt mt1 = (mt)lu1.h();
        if(a(mt1))
        {
            if(lu1.D())
                flag1 = true;
            arraylist1.add(lu1);
        }
_L8:
        if(enumeration1.hasMoreElements()) goto _L7; else goto _L9
_L9:
        int i1;
        int j1;
        Collections.sort(arraylist1, o6_1);
        if(flag1)
        {
            if(!flag && super.b.z())
                super.c.println(H[15]);
            if(printwriter != null)
                printwriter.println(H[9] + (flag ? H[18] : H[20]) + H[7]);
        }
        i1 = arraylist1.size();
        j1 = 0;
        if(!flag2) goto _L11; else goto _L10
_L10:
        lu lu2 = (lu)arraylist1.get(j1);
        if(!flag && super.b.z())
            super.c.println(H[11] + lu2.t() + lu2.u() + H[17] + lt.a(lu2.j()) + "\"");
        if(printwriter != null)
            printwriter.println(s1 + H[10] + lu2.t() + lu2.u() + H[17] + lt.a(lu2.j()) + "\"");
        j1++;
_L11:
        if(j1 < i1) goto _L10; else goto _L12
_L12:
        ArrayList arraylist2;
        Enumeration enumeration2;
        arraylist2 = new ArrayList(super.g.size());
        enumeration2 = s();
        if(!flag2) goto _L14; else goto _L13
_L13:
        ou ou1 = (ou)enumeration2.nextElement();
        mt mt2 = (mt)ou1.h();
        if(a(mt2))
            arraylist2.add(ou1);
_L14:
        if(enumeration2.hasMoreElements()) goto _L13; else goto _L15
_L15:
        int k1;
        int l1;
        Collections.sort(arraylist2, o6_1);
        k1 = arraylist2.size();
        l1 = 0;
        if(!flag2) goto _L17; else goto _L16
_L16:
        ou ou2 = (ou)arraylist2.get(l1);
        if(!flag && super.b.z())
            super.c.println(H[8] + ou2.d(false) + H[17] + lt.a(ou2.j()) + "\"");
        if(printwriter != null)
            printwriter.println(s1 + H[16] + ou2.d(false) + H[17] + lt.a(ou2.j()) + "\"");
        l1++;
_L17:
        if(l1 >= k1)
            return;
        if(true) goto _L16; else goto _L18
_L18:
    }

    private void a(mt mt1, e6 e6_1, boolean flag)
        throws tb
    {
        boolean flag1 = b(mt1);
        boolean flag2 = false;
        if(flag)
            flag2 = p.add(mt1);
        if(flag1 || flag2)
            a(mt1, e6_1);
        if(flag1)
        {
            a(e6_1, q, mt1);
            b(e6_1, s, mt1);
        }
        if(flag2)
        {
            a(e6_1, r, mt1);
            b(e6_1, t, mt1);
        }
    }

    private void b(lu lu1, e6 e6_1)
        throws tb
    {
        a(lu1, ((String) (null)));
        mt mt1 = lu1.P();
        if(mt1 != null)
            a(mt1, e6_1, true);
        p6 p6_1 = lu1.a();
        a(p6_1, e6_1);
    }

    private void a(ou ou1, e6 e6_1)
    {
        a(ou1, ((String) (null)));
        e6_1.a(ou1);
    }

    private void v()
        throws tb
    {
        e6 e6_1;
        d6 d6_1;
        boolean flag;
        flag = tb.b;
        e6_1 = new e6();
        d6_1 = new d6(super.j.keys());
        if(!flag) goto _L2; else goto _L1
_L1:
        lu lu1 = (lu)d6_1.nextElement();
        mt mt1 = (mt)lu1.h();
        if(super.f.containsKey(mt1))
        {
            mt mt2 = lu1.P();
            if(mt2 != null)
                a(mt2, e6_1, true);
            p6 p6_1 = lu1.a();
            a(p6_1, e6_1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(!lu1.D())
        {
            r.b(mt1, lu1, lu1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        q.b(mt1, lu1, lu1);
_L2:
        if(d6_1.hasMoreElements()) goto _L1; else goto _L3
_L3:
        Enumeration enumeration = super.h.keys();
        if(!flag) goto _L5; else goto _L4
_L4:
        ou ou1 = (ou)enumeration.nextElement();
        mt mt3 = (mt)ou1.h();
        if(p.contains(mt3))
        {
            e6_1.a(ou1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(super.f.containsKey(mt3) && ou1.D())
        {
            e6_1.a(ou1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(ou1.D())
        {
            s.b(mt3, ou1, ou1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        t.b(mt3, ou1, ou1);
_L5:
        if(enumeration.hasMoreElements()) goto _L4; else goto _L6
_L6:
        HashSet hashset = new HashSet(px.a(l.length + 5));
        if(!flag) goto _L8; else goto _L7
_L7:
        ou ou2;
        Enumeration enumeration1;
        ou2 = (ou)e6_1.c();
        if(!hashset.add(ou2))
            continue; /* Loop/switch isn't completed */
        enumeration1 = u.a(ou2);
        if(!flag) goto _L10; else goto _L9
_L9:
        ou ou3 = (ou)enumeration1.nextElement();
        mt mt4 = (mt)ou3.h();
        if(p.contains(mt4))
        {
            a(ou3, e6_1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        b(ou3);
        t.b(mt4, ou3, ou3);
_L10:
        if(enumeration1.hasMoreElements()) goto _L9; else goto _L11
_L11:
        Iterator iterator;
        ArrayList arraylist = ou2.W();
        iterator = arraylist.iterator();
        if(!flag) goto _L13; else goto _L12
_L12:
        mt mt5 = (mt)iterator.next();
        a(mt5, e6_1, true);
_L13:
        if(iterator.hasNext()) goto _L12; else goto _L14
_L14:
        HashSet hashset2;
        HashSet hashset3;
        HashSet hashset4;
        Iterator iterator1;
        p6 p6_2 = ou2.a();
        a(p6_2, e6_1);
        HashSet hashset1 = new HashSet();
        hashset2 = new HashSet();
        hashset3 = new HashSet();
        hashset4 = new HashSet();
        ou2.a(hashset1, hashset2, hashset3, hashset4);
        hashset2.removeAll(hashset1);
        iterator1 = hashset1.iterator();
        if(!flag) goto _L16; else goto _L15
_L15:
        mt mt6 = (mt)iterator1.next();
        a(mt6, e6_1, true);
_L16:
        if(iterator1.hasNext()) goto _L15; else goto _L17
_L17:
        Iterator iterator2 = hashset2.iterator();
        if(!flag) goto _L19; else goto _L18
_L18:
        mt mt7 = (mt)iterator2.next();
        a(mt7, e6_1, false);
_L19:
        if(iterator2.hasNext()) goto _L18; else goto _L20
_L20:
        Iterator iterator3 = hashset3.iterator();
        if(!flag) goto _L22; else goto _L21
_L21:
        lu lu2 = (lu)iterator3.next();
        b(lu2, e6_1);
_L22:
        if(iterator3.hasNext()) goto _L21; else goto _L23
_L23:
        Iterator iterator4 = hashset4.iterator();
        if(!flag) goto _L25; else goto _L24
_L24:
        ou ou4 = (ou)iterator4.next();
        a(ou4, e6_1);
_L25:
        if(iterator4.hasNext()) goto _L24; else goto _L26
_L26:
        Vector vector;
        int i;
        vector = o.d(ou2);
        if(vector == null)
            continue; /* Loop/switch isn't completed */
        n6 n6_1 = new n6();
        Collections.sort(vector, n6_1);
        i = 0;
        if(!flag) goto _L28; else goto _L27
_L27:
        Object obj = vector.elementAt(i);
        if(obj instanceof mt)
        {
            mt mt8 = (mt)obj;
            a(mt8, e6_1, true);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(obj instanceof lu)
        {
            lu lu3 = (lu)obj;
            b(lu3, e6_1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(obj instanceof ou)
        {
            ou ou5 = (ou)obj;
            a(ou5, e6_1);
        }
        i++;
_L28:
        if(i < vector.size()) goto _L27; else goto _L8
_L8:
        if(!e6_1.b()) goto _L7; else goto _L29
_L29:
    }

    public final Enumeration w()
    {
        return Collections.enumeration(y);
    }

    public final Enumeration x()
    {
        return Collections.enumeration(z);
    }

    private static char[] z(String str) {
        char ac[] = str.toCharArray();
        int clen = ac.length;
        if (clen >= 2)
            return ac;
        ac[0] ^= 0xd;
        return ac;
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x4b;
                    break;
                case 1:
                    key = 90;
                    break;
                case 2:
                    key = 18;
                    break;
                case 3:
                    key = 47;
                    break;
                default:
                    key = 13;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }
}